'use strict';
/*
 *@description: 学段、学科、版本对象
 *@author: wudandan
 *@date: 2020-09-09 17:03:08
*/
import YJTObject from 'yj-object';
// 版本对象
class VersionData extends YJTObject {
  constructor () {
    const Fields = {
      // 版本编码
      versionCode: '',
      // 版本名称
      versionName: ''
    };
    super(Fields);
  }

  get versionCode () {
    return this._versionCode;
  }

  set versionCode (val) {
    this._versionCode = val;
  }

  get versionName () {
    return this._versionName;
  }

  set versionName (val) {
    this._versionName = val;
  }
}
// 学科对象
class SubjectData extends YJTObject {
  constructor () {
    const Fields = {
      // 学科编码
      subjectCode: '',
      // 学科名称
      subjectName: '',
      // 版本
      versions: {
        type: Array,
        generics: VersionData
      }
    };
    super(Fields);
  }

  get subjectCode () {
    return this._subjectCode;
  }

  set subjectCode (val) {
    this._subjectCode = val;
  }

  get subjectName () {
    return this._subjectName;
  }

  set subjectName (val) {
    this._subjectName = val;
  }

  get versions () {
    return this._versions;
  }

  set versions (val) {
    this._versions = val;
  }
}
class SectionData extends YJTObject {
  constructor () {
    const Fields = {
      // 学段编码
      studyStageCode: '',
      // 学段名称
      studyStageName: '',
      // 学科
      subjects: {
        type: Array,
        generics: SubjectData
      }
    };
    super(Fields);
  }

  get studyStageCode () {
    return this._studyStageCode;
  }

  set studyStageCode (val) {
    this._studyStageCode = val;
  }

  get studyStageName () {
    return this._studyStageName;
  }

  set studyStageName (val) {
    this._studyStageName = val;
  }

  get subjects () {
    return this._subjects;
  }

  set subjects (val) {
    this._subjects = val;
  }
}
export default class SectionSubVerInfo extends YJTObject {
  constructor () {
    const Fields = {
      data: {
        type: Array,
        generics: SectionData
      }
    };
    super(Fields);
  }

  get data () {
    return this._data;
  }

  set data (val) {
    this._data = val;
  }
}
